import java.io.FileNotFoundException;

public class Test02 {
    private static void openConfig(String filename) throws FileNotFoundException {
        if(!filename.equals("config.text")){
            //throw 让代码能够爆出一个异常
            throw new FileNotFoundException("文件不存在");
        }
    }
    private static void getElem(int[] arr,int index){
        if (arr == null){
            //数组为空抛出空指针异常
            throw new NullPointerException("数字为空");
        }
        if (index > 0 || index >= arr.length)
            throw new ArrayIndexOutOfBoundsException("数组越界引用");
    }
    public static void main(String[] args) {
        //异常捕获
        /*
            throws 只是声明 ， 声明告诉方法的调用者来处理异常 ， 真正进行异常处理 ， 通过 try catch 捕获
            2.在 catch 中一般会打印出异常的详细信息 用 printStackTrace() 方法可以打印异常的详细信息 ， 主要调用栈 ，
            3.异常捕获让正常的代码和出错的逻辑能够分开
         */
        try{//根据 openConfig 中抛出的异常区 catch 中进行匹配
            openConfig("xxxx");
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

}
